package atencion_de_emergencia.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import examenes.bean.ExamenDTO;

import tratamiento.bean.MedicamentoDTO;
import utilitarios.MiConexion;
import atencion_de_emergencia.bean.RoaeDTO;
import atencion_de_emergencia.interfaces.RoaeDAO;

public class MySqlRoaeDAO implements RoaeDAO{

	@Override
	public String registrarROAE(RoaeDTO objROAE) throws SQLException {
		
		Connection conexion = MiConexion.obtenerConexion();
		CallableStatement call = null;
		String strCodigo = null;
		
			call = conexion.prepareCall("{call usp_registraROAE(?,?,?,?,?,?,?)}");
			call.registerOutParameter(7, java.sql.Types.CHAR);

		call.setString(1,objROAE.getStrCod_Acci());
		call.setString(2,objROAE.getStrCod_Lesion());
		call.setString(3,objROAE.getStrCod_Asis());
		call.setString(4,objROAE.getStrNum_Hc());
		call.setString(5, objROAE.getUsuario());
		call.setString(6, objROAE.getStrTipo_Ope());
		
		call.executeUpdate();
		strCodigo = call.getString(7);
		conexion.close();
		
		return strCodigo;
		
	}

	@Override
	public void grabaDetalle(List<MedicamentoDTO> arrMedicamento,
			RoaeDTO objROAE) throws SQLException {
		// TODO Auto-generated method stub
		Connection conexion = MiConexion.obtenerConexion();
		CallableStatement call = null;
		for (MedicamentoDTO medicamentoDTO : arrMedicamento) {
			call = conexion.prepareCall("{call usp_grabarDetalleROAE(?,?,?,?,?)}");
			int can = Integer.parseInt(medicamentoDTO.getStrCantidad());
			call.setString(1, objROAE.getStrNum_roae());
			call.setString(2, medicamentoDTO.getStrCod_Medi());
			call.setString(3, medicamentoDTO.getStrFrecuencia());
			call.setString(4, medicamentoDTO.getStrDosis());
			call.setInt(5, can);
			call.executeQuery();
		}
		call.close();
		conexion.close();
	}

}
